import myAxios from "@/request";

// 定义用户注册请求的接口类型
interface UserRegisterRequest {
  username: number;
  password: number;
}

// 定义用户登录请求的接口类型
interface UserLoginRequest {
  username: number;
  password: number;
}

// 定义获取当前用户请求的接口类型
interface getCurrentUserRequest {
  // 根据实际情况添加必要的参数
  username: number;
  password: number;
}

// 定义搜索用户请求的接口类型
interface SearchUsersRequest {
  username: number;
  password: number;
}

// 定义删除用户请求的接口类型
interface DeleteUserRequest {
  id: number;
}

/**
 * interface UserRegisterRequest {
 *   username: string;
 *   password: string;
 * }
 * // 定义用户登录请求的接口类型
 * interface UserLoginRequest {
 *   username: string;
 *   password: string;
 * }
 */

/**
 * 用户注册
 * @param params
 */
export const userRegister = async (params: UserRegisterRequest) => {
  return await myAxios.request({
    url: "/api/user/register", //请求的接口路径
    method: "POST", //请求的方法
    params: {
      username: 123,
      password: 123,
    },
    data: params, //用户注册的信息 放进来
  });
};
/**
 * 用户登录
 * @param params
 */
export const userLogin = async (params: UserLoginRequest) => {
  return await myAxios.request({
    url: "/api/user/login", //请求的接口路径
    method: "POST", //请求的方法
    params: {
      username: 123,
      password: 123,
    },
    data: params, //用户注册的信息 放进来
  });
};
/**
 * 用户注销
 * @param params
 */
export const userLogout = async (params: any) => {
  return await myAxios.request({
    url: "/api/user/logout", //请求的接口路径
    method: "POST", //请求的方法
    params: {
      username: 123,
      password: 123,
    },
    data: params, //用户注册的信息 放进来
  });
};
/**
 * 获取当前用户
 * @param params
 */
export const getCurrentUser = async (params: getCurrentUserRequest) => {
  return await myAxios.request({
    url: "/api/user/current", //请求的接口路径
    method: "GET", //请求的方法
    params: {
      username: 123,
      password: 123,
    },
    data: params,
    //用户注册的信息 放进来
  });
};
/**
 * 获取用户列表
 * @param params
 */
export const searchUsers = async (params: SearchUsersRequest) => {
  return await myAxios.request({
    url: "/api/user/register", //请求的接口路径
    method: "POST", //请求的方法
    data: {
      username: 123,
      password: 123,
    },
  });
};
/**
 * 删除用户
 * @param id
 */
export const deleteUser = async (id: DeleteUserRequest["id"]) => {
  return await myAxios.request({
    url: "/api/user/register", //请求的接口路径
    method: "POST", //请求的方法
    data: id,
    headers: {
      //要传输JSON格式的值
      "Content-Type": "application/json",
    },
  });
};
